#include "cell.h"
#include <malloc.h>

/**
 * Obtient l'adresse cellule suivant la cellule passée en argument
 */
Cell* cell_getNext(const Cell* cell)
{
    return cell->next;
}

/**
 * Obtient la valeur de la cellule passée en argument
 */
void* cell_getValue(const Cell* cell)
{
    return cell->value;
}

/**
 * Cree et initialise une nouvelle cellule en mémoire
 */
void cell_create(Cell** cell)
{
    (*cell) = (Cell*) malloc(sizeof(Cell));
    cell_initialize(*cell);
}

/**
 * Initialise une nouvelle cellule
 */
void cell_initialize(Cell* cell)
{
    cell->next = NULL;
    cell->value = 0;
}

/**
 * Désaloue la cellule passée en argument
 */
void cell_destroy(Cell** cell)
{
    free(*cell);
    *cell = NULL;
}


